package com.example.aidlservicedemo;

/**
 * 该类用于定义一系列 Binder 服务的标识代码，通过静态常量的方式提供统一的编码，方便在不同模块中使用。
 * 每个常量对应一种特定的 Binder 服务，同时提供了私有构造函数防止实例化。
 *
 * @author 猿小蔡
 * @since 2025/6/28
 */
public class BinderCodes {

    /**
     * 表示无对应的 Binder 服务，当前未被使用。
     * 此常量作为一个占位符，可在后续扩展中用于表示没有合适 Binder 服务的情况。
     */
    public static final int BINDER_NONE = -1;

    /**
     * 表示计算相关的 Binder 服务，其编码为 0。
     * 当需要调用计算服务时，可使用该常量作为标识获取对应的 Binder 实例。
     */
    public static final int BINDER_COMPUTE = 0;

    /**
     * 表示定位相关的 Binder 服务，其编码为 1。
     * 当需要调用定位服务时，可使用该常量作为标识获取对应的 Binder 实例。
     */
    public static final int BINDER_LOCATION = 1;

    /**
     * 表示安全相关的 Binder 服务，其编码为 2。
     * 当需要调用安全服务时，可使用该常量作为标识获取对应的 Binder 实例。
     */
    public static final int BINDER_SECURITY = 2;

    /**
     * 私有构造函数，防止外部实例化该工具类。
     * 由于该类仅提供静态常量，无需创建实例，因此将构造函数设为私有。
     */
    private BinderCodes() {
    }

}